<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>管理元素</title>
</head>
<body>
    
</body>
</html>
<script>
    //管理元素
    //基本使用
    // let arr = [1,'后盾人','hdcms'];
    //修改数组元素
    // arr[1] = '后盾人教程';
    // console.table(arr)

    //向数组追加元素
    // arr[3] = '溜若英';
    // arr[arr.length] = '刘若英';
    // arr[arr.length] = '李宗盛';
    // console.log(arr)

    //扩展语法
    //使用扩展语法批量添加元素
    // let arr = ["后盾人","hdcms"];
    // let hd = ["houdunren"];
    // hd.push(...arr);
    // console.log(hd);

    //push将元素压入数组    返回值为最新的数组值 的数量
    // let arr = ["后盾人","hdcms"];
    // console.log(arr.push('向军大叔','houdurnen'));
    // console.log(arr)

    //根据区间创建数组
    // function rangeArray(begin,end){
    //     const array = [];
    //     for(let i = begin;i<=end;i++){
    //         array.push(i);
    //     }
    //     return array;
    // }
    // console.log(rangeArray(1,1000000));

    //pop  从末尾弹出元素，可以直接改变数组，返回值为弹出的元素
    // let arr = ["houdunren","后盾人"];
    // console.log(arr.pop())
    // console.log(arr)


    //shift
    //从数组前面取出一个元素
    // let arr = ["后盾人","hdcms"];
    // console.log(arr.shift());
    // console.log(arr)

    //unshift  从数组前面添加元素
    // let arr = ["后盾人","dhcms"];
    // console.log(arr.unshift('向军大叔','houdunren'));
    // console.log(arr)

    //fill填充数组
    //填充不包括第二个参数
    // console.log(Array(4).fill('后盾人',0,2));

    //指定填充位置
    // console.log([1,2,3,4].fill("后盾人",1,2));

    //slice  不改变原数组
    //设置参数就是截取到设置的位置     不设置第二个参数就是截取到数组的末尾
    // let arr = [0,1,2,3,4,5,6];
    // console.log(arr.slice(1,3));

    // let arr = [0,1,2,3,4,5,6];
    // console.log(arr.slice(1,3));
    //slice 会改变原来的数组    第一个参数为截取的位置   第二个参数为截取的长度
    // console.log(arr.splice(1,3));
    // console.log(arr)

    //通过length删除最后一个元素
    // let arr = ["后盾人","hdcms"];
    // console.log(arr)
    // arr.length = arr.length - 1;
    // console.log(arr);

    //通过指定第三个参数来设置删除位置添加的元素
    // let arr = [0,1,2,3,4,5,6];
    // console.table(arr.splice(1,3,'hdcms','ousdnern'));
    // console.log(arr)

    //向末尾添加元素
    // let arr = [0,1,2,3,4,5,6];
    // //这里相当于是没有截取数组  而且还给数组的后面追加元素了
    // let arr_str = [7,8,9];
    // // console.log(arr.splice(arr.length,0,'hdcms','houdunren'));
    // arr.splice(arr.length,0,...arr_str);
    // console.log(arr)


    //向数组前添加元素
    // let arr = [0,1,2,3,4,5,6];
    // console.log(arr.splice(0,0,'hdcms','后盾人'));
    // console.log(arr)


    /**
     * 将array数组中的元素 把 from 位置和  to位置的元素进行互换
    */
    // function move(array,from,to){
        
    //     //这里修改数组，但是不能改变元数组
    //     const newArray = [...array];
    //     //得到要移动的元素
    //     const elem = newArray.splice(from,1);
    //     newArray.splice(to,0,...elem);
    //     return newArray;
        
    // }


    // //最终得到的结果是1,3,2,4
    // let array = [1,2,3,4];
    // console.table(move(array,1,3))


    //清空数组
    // let user = [{name:"hdcms"},{name:"后盾人"}];
    // let cms = user;
    // console.log(user);  
    // //使用数组清空的方式不会影响到原来的数组
    // user = [];
    // console.log(user)
    // console.log(cms)


    let user = [{name:"hdcms"},{name:"后盾人"}];
    //将数组的length设置为0也可以清空数组
    // user.length = 0;
    // console.log(user)


    //使用splice的方法删除所有的数组元素
    // user.splice(0,user.length);
    // console.log(user)


    //使用pop/shift删除所有的元素，来清空数组
    // while(user.pop()){

    // }
    // console.log(user)

    while(true){
        if(!user.pop()){
            break;
        }
    }
    console.log(user)


    

  








</script>